/* 用户相关api */
import {
	request,
} from "@/utils/request";

/**
 * userLoginApi 用户账号密码登录
 * @params	{Number}				userName		手机号
 * @params	{String | Number}		password		加密后的密码
 * @params	{Boolean}				isLogin			？？？
 */
export const userLoginApi = (params) =>
	request({
		params: {
			_gp: 'home',
			_mt: 'login',
			...params
		},
		loading: {
			title: '登陆中',
			mask: true,
		}
	});

/**
 * getUserInfoApi 获取用户信息（通过token）
 * @params	{String}				token			令牌
 */
export const getUserInfoApi = (params) =>
	request({
		params: {
			_gp: 'home',
			_mt: 'getUserInfo',
			...params
		}
	});

/**
 * getUserInfoByIdApi 获取用户信息（通过Id）
 * @params	{Number}				Id				当前用户Id
 */
export const getUserInfoByIdApi = (params) =>
	request({
		params: {
			_gp: 'home',
			_mt: 'getUserInfoById',
			...params
		}
	});

/**
 * putUserInfoApi 修改用户信息
 * @params	{String}				json			修改的信息（加密后的）userId: 当前用户id（必填）、imgUrl: 头像、nickName: 昵称、gender: 性别、birthday: 也就是出生年月日、address: 地址名称、email: 邮箱
 */
export const putUserInfoApi = (params) =>
	request({
		params: {
			_gp: 'user',
			_mt: 'uppUserHeadImg',
			...params
		}
	}, {
		title: '注册中',
		mask: true,
	});

/**
 * registerAccountApi 注册账号
 * @params	{String | Number}		realName			昵称
 * @params	{Number}				userName			手机号
 * @params	{String | Number}		password			密码
 * @params	{Number}				registerType		注册类型：1、pc端 2、小程序 3、app
 */
export const registerAccountApi = (params) =>
	request({
		params: {
			_gp: 'home',
			_mt: 'register',
			...params
		}
	});

/**
 * retrievePasswordApi 找回密码
 * @params	{String}				userName			手机号
 * @params	{String}				pwd					密码
 */
export const retrievePasswordApi = (params) =>
	request({
		params: {
			_gp: 'user',
			_mt: 'uppPwd',
			...params
		},
		loading: {
			title: '登陆中',
			mask: true,
		}
	});

/**
 * checkPhoneApi 校验手机号是否注册
 * @params	{Number}				phone			手机号
 */
export const checkPhoneApi = (params) =>
	request({
		params: {
			_gp: 'user',
			_mt: 'checkUserInfo',
			...params,
		}
	});

/**
 * getAuthCode 获取验证码：用于短信登录、密码找回、用户注销
 * @params	{Number}				phone			手机号
 * @params	{Number}				type			类型，1：求职者注册；2：求职者登陆；3：求职者修改密码；
 */
export const getCodeApi = (params) =>
	request({
		params: {
			_gp: 'admin.adminSendMsg',
			_mt: 'sendVerifyCode',
			...params,
		},
		loading: {
			title: '正在获取验证码',
			mask: true,
		}
	});

/**
 * checkCodeApi 校验验证码是否正确
 * @params	{Number}				token			手机号
 * @params	{Number}				verifyCode		验证码
 * @params	{Number}				type			类型，1：求职者注册；2：求职者登陆；3：求职者修改密码；
 */
export const checkCodeApi = (params) =>
	request({
		params: {
			_gp: 'admin.adminSendMsg',
			_mt: 'checkVerifyCode',
			...params,
		},
		loading: {
			title: '加载中',
			mask: true,
		}
	});
